﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Class_KetNoi;

namespace GiaoDien
{
    public partial class uc_NhanVien : DevExpress.XtraEditors.XtraUserControl
    {
        public uc_NhanVien()
        {
            InitializeComponent();
        }
        KetNoi_NhanVien kn = new KetNoi_NhanVien();
        public void LoadDuLieu()
        {
            
            gridControl1.DataSource = kn.Load_NhanVien();
            string MaPB = "select * from tbl_PhongBan";
            cobMaPhongBan.DataSource = kn.taobang(MaPB);
            cobMaPhongBan.DisplayMember = "MaPB";
            string MaCV = "select * from tbl_ChucVu";
            CobMaChucVu.DataSource = kn.taobang(MaCV);
            CobMaChucVu.DisplayMember = "MaCV";
            

        }
        public void Nut()
        {
            btnthem.Enabled = false;
            btnsua.Enabled = false;
            btnxoa.Enabled = false;

            btnluu.Enabled = true;
            btnhuy.Enabled = true;
        }
        private void uc_NhanVien_Load(object sender, EventArgs e)
        {
            kn.connect();
            lbMaNhanVien.Hide();
            txtMaNhanVien.Hide();
            LoadDuLieu();
            btnhuy.Enabled = false;
            btnluu.Enabled = false;
        }
        int flag;
        private void btnthem_Click(object sender, EventArgs e)
        {
            flag = 0;
            Nut();
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            flag = 1;
            Nut();
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            if (txtMaNhanVien.Text != "")
            {
                if (MessageBox.Show("Bạn có chắc chắn xóa nhân viên là :'" + txtHoTen.Text + "' này không?", "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    kn.xoa_NhanVien(txtMaNhanVien.Text.Trim());
                    MessageBox.Show("Bạn đã xóa thành công!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
            }
            else
                MessageBox.Show("Bạn chưa chọn trường dữ liệu để xóa!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            LoadDuLieu();
        }

        private void btnluu_Click(object sender, EventArgs e)
        {
            if (flag == 0)
            {
                if (txtHoTen.Text != "" && cobGioiTinh.Text != "" && mskCMTND.Text != "" && txtNoiSinh.Text != "" && CobMaDanToc.Text != "" && mskSoDienThoai.Text != "" && txtHoKhau.Text != "" && txtChoOHienNay.Text != "" && txtBHYT.Text != "" && txtATM.Text != "")
                {
                    kn.them_NhanVien(txtHoTen.Text, cobGioiTinh.Text, mskCMTND.Text, date_NgaySinh.Text, txtNoiSinh.Text, CobMaDanToc.Text, cobMaPhongBan.Text, CobMaChucVu.Text, mskSoDienThoai.Text, txtHoKhau.Text, txtChoOHienNay.Text, date_NgayVaoLam.Text, txtBHYT.Text, txtATM.Text);
                    MessageBox.Show("Thêm mới thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                    MessageBox.Show("Bạn chưa nhập đủ dữ liệu!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (flag == 1)
            {
                if (txtMaNhanVien.Text != "")
                {
                    kn.sua_NhanVien(txtMaNhanVien.Text, txtHoTen.Text, cobGioiTinh.Text, mskCMTND.Text, date_NgaySinh.Text, txtNoiSinh.Text, CobMaDanToc.Text, cobMaPhongBan.Text, CobMaChucVu.Text, mskSoDienThoai.Text, txtHoKhau.Text, txtChoOHienNay.Text, date_NgayVaoLam.Text, txtBHYT.Text, txtATM.Text);
                    MessageBox.Show("Sửa thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                    MessageBox.Show("Bạn chưa chọn trường dữ liệu để sửa!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            LoadDuLieu();
            txtHoTen.ResetText();
            cobGioiTinh.ResetText();
            mskCMTND.ResetText();
            txtNoiSinh.ResetText();
            mskSoDienThoai.ResetText();
            txtHoKhau.ResetText();
            txtChoOHienNay.ResetText();
            txtBHYT.ResetText();
            txtATM.ResetText(); 
            btnthem.Enabled =true;
            btnsua.Enabled = true;
            btnxoa.Enabled = true;

            btnluu.Enabled = false;
            btnhuy.Enabled = false;
        }

        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            txtMaNhanVien.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Mã Nhân Viên").ToString();
            txtHoTen.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Họ Tên").ToString();
            cobGioiTinh.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Giới Tính").ToString();
            mskCMTND.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Số CMND").ToString();
            date_NgaySinh.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Ngày Sinh").ToString();
            txtNoiSinh.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Nơi Sinh").ToString();
            CobMaDanToc.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Mã Dân Tộc").ToString();
            cobMaPhongBan.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Mã Phòng Ban").ToString();
            CobMaChucVu.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Mã Chức Vụ").ToString();
            mskSoDienThoai.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Điện Thoại").ToString();
            txtHoKhau.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Hộ Khẩu").ToString();
            txtChoOHienNay.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Chỗ Ở Hiện Nay").ToString();
            date_NgayVaoLam.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Ngày Vào Làm").ToString();
            txtBHYT.Text=gridView1.GetRowCellValue(gridView1.FocusedRowHandle,"Sổ BHYT").ToString();
            txtATM.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Thẻ ATM").ToString();
        }

        private void txtHoTen_Leave(object sender, EventArgs e)
        {
            if (txtHoTen.Text == "")
            {
                errorProvider1.SetError(txtHoTen, "Bạn chưa nhập họ tên nhân viên!");
                txtHoTen.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void mskCMTND_Leave(object sender, EventArgs e)
        {
            if (mskCMTND.Text == "")
            {
                errorProvider1.SetError(mskCMTND, "Bạn chưa nhập số CMTND!");
                mskCMTND.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtBHYT_Leave(object sender, EventArgs e)
        {
            if (txtBHYT.Text == "")
            {
                errorProvider1.SetError(txtBHYT, "Bạn chưa nhập số BHYT!");
                txtBHYT.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtNoiSinh_Leave(object sender, EventArgs e)
        {
            if (txtNoiSinh.Text == "")
            {
                errorProvider1.SetError(txtNoiSinh, "Bạn chưa nhập nơi sinh!");
                txtNoiSinh.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void CobMaDanToc_Leave(object sender, EventArgs e)
        {
            if (CobMaDanToc.Text == "")
            {
                errorProvider1.SetError(CobMaDanToc, "Bạn chưa chọn mã dân tộc!");
                CobMaDanToc.Focus();
            }
            else
                errorProvider1.Clear();

        }

        private void cobMaPhongBan_Leave(object sender, EventArgs e)
        {
            if (cobMaPhongBan.Text == "")
            {
                errorProvider1.SetError(cobMaPhongBan, "Bạn chưa chọn mã phòng ban!");
                cobMaPhongBan.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void CobMaChucVu_Leave(object sender, EventArgs e)
        {
            if (CobMaChucVu.Text == "")
            {
                errorProvider1.SetError(CobMaChucVu, "Bạn chưa chọn mã chức vụ!");
                CobMaChucVu.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void mskSoDienThoai_Leave(object sender, EventArgs e)
        {
            if (mskSoDienThoai.Text == "")
            {
                errorProvider1.SetError(mskSoDienThoai, "Bạn chưa nhập số điện thoại!");
                mskSoDienThoai.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtHoKhau_Leave(object sender, EventArgs e)
        {
            if (txtHoKhau.Text == "")
            {
                errorProvider1.SetError(txtHoKhau, "Bạn chưa nhập hộ khẩu!");
                txtHoKhau.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtChoOHienNay_Leave(object sender, EventArgs e)
        {
            if (txtChoOHienNay.Text == "")
            {
                errorProvider1.SetError(txtChoOHienNay, "Bạn chưa nhập chỗ ở hiện nay!");
                txtChoOHienNay.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtATM_Leave(object sender, EventArgs e)
        {
            if (txtATM.Text == "")
            {
                errorProvider1.SetError(txtATM, "Bạn chưa nhập Số thẻ ATM!");
                txtATM.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void mskCMTND_TextChanged(object sender, EventArgs e)
        {
            string s = "select * from tbl_NhanVien where SoCMND='"+mskCMTND.Text+"'";
            DataTable dt = new DataTable();
            dt = kn.taobang(s);
            if (dt.Rows.Count != 0)
            {
                errorProvider1.SetError(mskCMTND, "Số CMND Đã Tồn Tại!");
                mskCMTND.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtBHYT_TextChanged(object sender, EventArgs e)
        {
            string s = "select * from tbl_NhanVien where SoBHYT='" +txtBHYT.Text + "'";
            DataTable dt = new DataTable();
            dt = kn.taobang(s);
            if (dt.Rows.Count != 0)
            {
                errorProvider1.SetError(txtBHYT, "Sổ BHYT Đã Tồn Tại!");
                txtBHYT.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void mskSoDienThoai_TextChanged(object sender, EventArgs e)
        {
            string s = "select * from tbl_NhanVien where DienThoai='" + mskSoDienThoai.Text  + "'";
            DataTable dt = new DataTable();
            dt = kn.taobang(s);
            if (dt.Rows.Count != 0)
            {
                errorProvider1.SetError(mskSoDienThoai, "Số Điện Thoại Đã Tồn Tại!");
                mskSoDienThoai.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txtATM_TextChanged(object sender, EventArgs e)
        {
            string s = "select * from tbl_NhanVien where SoTheATM='" +txtATM.Text  + "'";
            DataTable dt = new DataTable();
            dt = kn.taobang(s);
            if (dt.Rows.Count != 0)
            {
                errorProvider1.SetError(txtATM, "Số Thẻ ATM Đã Tồn Tại!");
                txtATM.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void btnhuy_Click(object sender, EventArgs e)
        {
            txtHoTen.ResetText();
            cobGioiTinh.ResetText();
            mskCMTND.ResetText();
            txtNoiSinh.ResetText();
            mskSoDienThoai.ResetText();
            txtHoKhau.ResetText();
            txtChoOHienNay.ResetText();
            txtBHYT.ResetText();
            txtATM.ResetText(); 
        }

        private void CobMaDanToc_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void CobMaDanToc_Click(object sender, EventArgs e)
        {
            string MaDT = "select * from tbl_DanToc";
            CobMaDanToc.DataSource = kn.taobang(MaDT);
            CobMaDanToc.DisplayMember = "MaDT";
        }


    }
}
